#include <vector>
#include <map>
#include <set>
using namespace std;

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        set<int> s1;
        set<int> s2;
        vector<int> v;
        for(auto e:nums1)
        {
            s1.insert(e);
        }
        for(auto e:nums2)
        {
            s2.insert(e);
        }

        map<int,int> m;
        for(auto e:s1)
        {
            m[e]++;
        }
        for(auto e:s2)
        {
            m[e]++;
        }
        
        for(auto e:m)
        {
            if(e.second==2)
            {
                v.push_back(e.first);
            }
        }
        return v;
    }
};